home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
mus
/
misc
/
ChipSaver131.lha
/
ChipSaver_v1.31
/
ChipSaver.doc.english
next >
Wrap
Text File
|
1995-01-15
|
17KB
|
498 lines
15 of January,1995
ChipSaver V1.31 Alpha
---------------------
This tool is for all those who like modules & use ExoticRipper,
ProWizard,or any other ripping/converting program...
------------------------------------------------------------------------------
1.3a: This Version is a MAJOR BUG FIX from v1.1 (first release)
1.31: CS installing bug is fixed!!!Should work on all machines NOW! :-)
[This doc & functions are exactly the same as 1.3a]
------------------------------------------------------------------------------
Summary: 0. Overview
1. How does it work?
2. The CLI options
3. The best way to use this tool
4. Some technical info
5. Installation
6. Disclaimer/Distribution
7. About ripping
8. Comparison between Exoticboot/Chipsaver
9. Bug Fixes from v1.1
10. The end.
0. Overview
-----------
This Prog was originally an alternative for exotic ripper v2.22 's
BOOT install option.It does the same job (** AND MORE **!!)but DURING THE RESET.
I've sent it to the authors of ExoticRipper but they simply replied that they
had now included a 'similar' option in Exotic v2.23:exoticRESET...OK,but they
surely haven't read this doc,as ChipSaver does really MORE than just saving
all chipmem to fastmem!!
For those who got like me Exotic v2.23+,I insist:Chipsaver still can
replace exoticRESET.The reasons of this:
- 2 memory saving modes!
- the clearmem/nofast option
- Chipsaver is less detectable.(Exotic uses Cold/Coolcapture)
- For people using Prowizard ,without having exotic (??),ChipSaver
provides them just what they need: a reset-save option!
For the details just read this doc,you won't regret it! (really?)
Why alpha?
**********
It's an alpha release...it should work correctly on any machine anyway.But
I've only tested it on:
A500+ OS 2.0 1 Mb chip
A1200 OS 3.0 2 Mb chip/4 Mb fast
but it should work even on 1.3 systems (??)
Anyway,I'll test on other configs later...beta-release??
1. How does it work??
---------------------
Chipsaver can be run by CLI or Workbench.
[ Workbench allows you only to install Chipsaver ]
[ CLI allows parameters & more actions (remove etc.. see paragraph 2 later) ]
A message will tell you that the program is installed.You can continue
using your system normally:the difference will appear during the next reset.
***DURING RESET****
A green flash will appear:this proves that ChipSaver is here,that's all.If
you don't do anything,then a Blue flash will come,and that's the sign of...
the end of Chipsaver (OK! Let's see more interesting stuff!!)
After the green flash,the following combinations are tested:
* Left mouse button (standard 'exotic-like' savemode)
* Joystick button (Save mode2:CHIP protection)
* LMB+Joybutton (Clearmem+Nofastmem option)
-------------------------------------------------------------------------------
--- VERY IMPORTANT! READ THIS !---
When I say that these combinations are tested AFTER the green flash,I mean that
there is *NO WAITING LOOP* (UNLIKE EXOTICRESET) :The test is instantaneous,and
if nothing is pressed,the blue flash will appear (no operation).
*******************************************************************************
*So If you want to use an option (for example LMB),DO NOT WAIT FOR THE GREEN *
*FLASH: just KEEP PRESSING ON THE BUTTONS FROM THE BEGINNING OF THE RESET!! *
* *
* Then you'll see the green flash & the operation will be done! *
*******************************************************************************
I had to say all this because users used to exoticreset just waited a few
seconds after the flash before pressing the buttons!!Of course it didn't work
as there is no testing loop!!(hehe pas vrai Gryzor??)
This is another difference between ExoticReset & ChipSaver:ExoticReset must be
launched WHEN you want to rip.Chipsaver is ALWAYS here & doesn't slow your
reset when you don't ask him some operation!...So you'll always be ready for
any demo launched on your machine!!
-------------------------------------------------------------------------------
let's for the details now!
1.1 Left mouse button
---------------------
Action:try to save Chipmem to fastmem.3 cases:
* no fastmem: ex: A500+ 1 Mb chipmem
Lower chip half will be copied>upper half
* not enough fastmem: ex: A1200 2 Mb chip/1 Mb fast (hi Xulax!)
As much chip as possible will be copied in fastmem
* more fast than chip: ex: A1200 2 Mb chip/3-4 Mb fast (me!!)
the best config for this of course...all chip saved!
if any error occurs (never should),there'll be a red flash.
During the copying,the screen flashes,reflecting what is copied...
(lots of blank/zero data will produce a black screen)
(looks like the ExoticBoot uh?)
[hahaha ExoticReset saves from $F00...but Chipsaver saves from $E80]
(A gain of 128 bytes WOW!)
1.2 Joystick button
-------------------
Action:'Protect' xx% of chip memory. (80% by default)
This is another method:the lower 80% of chip are allocated,so the
system won't trash them.this method is more useful for those who
only have chipmem:if they boot on a very 'light' disk,they'll just
launch exoticripper,and be able to scan 80% of chipmem,whereas the
Left mouse button option 'd only save 50% (half'n half).
Of course,this time,it's the upper chipmem zone that is trashed.
Anyway it may be an alternative for experimented users if the LMB
option fails (separated sampledata for example).And also you can
just disassemble the code in chipmem with RIGHT addresses!
(non PC-relative/64 kb range code can be hard to read in the fastmem
copied image,no?)
When finished,a YELLOW flash...
1.3 Left Mouse Button+Joystick button
-------------------------------------
Action: Clears all the Chipmem & the Fastmem
Disables Fastmem
The 2 previous features are used AFTER the demo.This one is **BEFORE**.
* Clear mem:same as Exotic's CM option (clear all free memchunks)
The ripper scans much more faster as the zones that weren't
used by the demo are 0 (skipped)
* Disable fastmem:Only works with demos that use system to know
about the memory configuration.
Example:Sanity demos,using the S.O.S
(see at paragraph '4.some tech' for more info)
then a WHITE flash
ADVANTAGE:
* disabling fastmem prevents the demos that (__CLEANLY__)
recognize fastmem from using this fastmem,so:
-you can see how the demo works on a non-accelerated
machine...
-fastmem is not used,nor trashed,so you have more
chances to see ChipSaver back at the next reset!
-the demo will load EVERYTHING in chipmem,so you
won't have for example very nice samples in
chipmem,and a trashed partition in fastmem,
which can happen with moduleformats with
separated partition/samples (TFMX,The player
5.0a/6.0a etc...)
(so,ALWAYS use this feature before demo)
2. The CLI options:
-------------------
Well,let's go...
in all the following text,the ALLOCBUFFER we talk about may be created by
ChipSaver/Exoticboot/ExoticReset,that doesn't make any difference...
* no option:Install Chipsaver,or tell its status if it's already done.
* REMOVE:just...removes ChipSaver.(oh no!!why?don't do that !!)
* FREEMEM:When you have finished with ripping,you may want to free
the big allocated buffer,that's all.
* FORCE:When launched without parameters,ChipSaver tries to locate
itself at the highest address in chip/fast...if this zone
is not free,the install will fail.Force just overrides this
and installs in an UNCLEAN way.(your system becomes unsafe...
RESETTING seems to be the best solution)
* SAVE:saves the buffer to disk for later use/scan.
Warning:the free space on disk is not calculated,so,have a look
first on your partition,and don't try to save your 2 Mb buffer
on a floppy anyway!
Syntax: Save "path:name"
( **** QUOTATIONS MUST BE PRESENT **** )
* PERCENT:set the percentage of chipmem to be protected when using
the Joybutton feature.Default is 80.minimal is 5% and maximal
is 90%.more/less than the limits will reset the value to 80%.
it depends of you,and of the disk you boot on after the reset/save,to
see which value best matches your needs.For example,using a 1 mb
chipmem A500/A500+ ,saving 80% of chip,and booting on a disk with a
huge startup-sequence may not be the best solution!Cut down the
startup,or just decrease save %
Syntax: Percent 70 for example...(hard,no?)
REMOVE/FREEMEM/SAVE/FORCE may not (of course) be used in the same time!
But the exception is that PERCENT can be used with FORCE...
3. The best way to use this tool
--------------------------------
* install it.(I have put 'Chipsaver >NIL:' in my User-startup,it's
a handy way:it's always active since the 1st boot!! )
* Always keep a disk with ExoticBoot installed,and that launches
Exoticripper on startup.
* before launching a demo,use LMB+button.At least,the memory 'll be
cleaned...and Nofastmem may work (see paragraph 4)
* Watch the nice demo...Hear the great tune...
* reset!
* press on the button(s) corresponding to the action you want!
(if you have more fast than chip,make your first try with the
'standard' method:left mouse button)
then 2 possibilities...
- A green flash ? it's OK! Maybe you'll find a module!!
Otherwise,you can try multiple attempts as follows:
- load demo,reset,do nothing
- load demo,reset,LMB
- load demo,reset,joybutton
(one of these combinations may work...)
- No flash!! Aouch,we've been destroyed! Quickly insert your exotic
disk and hope the module's not too low!
then...
For Exoticripper v2.22/2.23 users:
----------------------------------
* In Exotic ripper,type "A H" (sets range to the zone we've allocated)
then hunt in your favorite mode...
For Prowizard version 2.1 users:
-------------------------------
* Gryzor should have added by now a 'scan buffer' option...so no need
to use the old method anymore (SAVE buff,reload it etc...)
For those who have both these progs:
------------------------------------
try both of them!! Wow what a useful advice!!
By the way,are you a REGISTERED user of these 2 EXCELLENT progs????
Last useful hint
----------------
* light a candle,pray,ask God to help you,maybe you'll have a module
to save!!
4. Some Technical info
----------------------
* ChipSaver will stay in memory until:
- his zone is trashed (oups!)
- the system is really trashed (execbase mainly)
* I could have made a nice intro at boot,with a logo,a nice copperlist,
menues,keytests etc...but I didn't for 2 reasons:
- All this uses Chipmem!!(anyway,the trashed zones could be
copied in fast before...but it's a bit messy!!)
- As the prog executes at the VERY BEGINNING of the reset,I
have a funny(?) problem:I can't test Right mouse button,
or the keyboard!! it seems that the chips need some init
from the Gameport device & keyboard.device!!(I tried to
put ChipSaver after theses inits:the RMB/keytests work!!)
My chipdocs are not very explicit,so if anybody has an
idea...
(so that's why I use the Joybutton!)
* Fastmem disabling is not just clearing MaxExtMem!! I just savagely
cut the Memheader from Execbase's Memlist...It works really
fine,except that if you boot on your Wbench,you may have
a few Recoverable alerts,which is absolutely NORMAL,as some
Fastmem was used by exec before the header was cut,so when
there's an attempt to restitute it...the system just wonders
where is this Fast-zone he's trying to free!
This feature won't work,of course,if some (bully!) coder,tries a stuff
like:
Ramtest move.l 4.w,a0
move.l maxlocmem(a0),d0;max chip
lea $f80000,a0 ;kickstart
.loop move.l #$BADDEED,(a0) ;poke
cmp.l #$BADDEED,(a0) ;peek
beq .found_highest_mem
sub.l #(256*1024),a0 ;steps of 256 Kb
cmp.l d0,a0
bne .loop
....
....
etc etc etc
I think this is the most commonly way used by coders,but it's really
savage and it shouldn't recognize all extensions (big 128 Mbytes
expansions with 68030+MMU for instance).
* Recognition by ExoticRipper:ChipSaver uses the same recognition as
Exoticboot: - addr of saved mem in $100
- Allocbuffer structure:dc.l $DEADBEEF
dc.l size
dc.l origin
& added Chipsaver's flag (ignored) dc.l $BADFEED (!!)
* coded on Trashm'onev1.6 then Asm-one v1.25...
5. Installation:
----------------
Very easy:just drag the icon...For this prog,I used a REAL Tool icon,
and not an IconX script+Project icon,because the parameters are not
essential.
6. Disclaimer/Distribution:
---------------------------
You use this program at your own risks! It is provided "as-is",
without any warranties on its reliability.I may not,by any means, be held
responsible for any bugs/breakdowns/damages caused to your software/hardware,
by ChipSaver.
This program may be spread freely as long as no fee other than
transport/disk is asked for,and the files remain together,not modified.
(except for archiving purposes)
7. About ripping:
-----------------
First of all,when you rip a module,I think it's for your own pleasure,
so,there is no reason to put in the sample-comments:It's ME who ripped this
module,MY name is blah blah blah...MY group is bluh bluh bluh...and the
author is..well,I don't know!...
Well,my idea is that ripping is worth signing only if you've ripped
a new format,or ripped something 'by hand'.Anybody can use (the excellent)
exoticripper or (the great) Pro-wizard,and put its name in the mod!
So,that's what I propose to put in a ripped/converted module:
* author's name,if not present
by author/name (recognized by EaglePlayer)
& #author/name (------------- Delitracker)
for the lazy ones,just put #by author/name !!
* the tools which made the rip possible:
Exoticripper Vx.x,Prowizard Vx,Chipsaver(pleaase!)
* your name,if it's absolutely necessary to your mental health!
* a nice thing is to put the author in the FILE COMMENT.I always do it
because that's how I make my module-lists.And you know
directly who composed the tune,when using your copy-tool...
8. Comparison between Exoticboot/ExoticReset/Chipsaver
------------------------------------------------------
Exoticboot has a big advantage:it can't be destroyed by the demo..So it will
always be there when you need it.Its disadvantage is that it trashes the lower
chipmem.
ChipSaver has the same disadvantages that ExoticReset:this time,it CAN be
destroyed,and you may not always see it appear after the demo!!But it has
the advantages of providing 2 ways of saving,and it's a "dormant" prog:it'll
stay quietly waiting for your orders at every reset...No need to load exotic
to clear the chunks before a demo,set the reset option etc...
Well I won't argue for a long time about the abilities of MY prog.it's of course
the best one as it's MY prog.You may of course not have the same opinion!!
As a conclusion,using boot+chipsaver like described in 3) in the best
solution...Good luck!
9. Bug Fixes from 1.1
---------------------
* ENORMOUS bug fixed: When using the main option (lmb),the image buffer of
chipmem was created in fastmem,but all the chipmem WASN'T COPIED into it!
All this bcoz of an extremely tiny error in the copying routine's size
checking;so there was what happened for example:
-A1200 2Mb chip/4Mb fast : Fast Image Buffer = 2Mb (ok!)
REALLY copied chip= 512 kb !!!!!!!!!
-A2000 1Mb chip/2Mb fast : Fast Image Buffer = 1 Mb (ok!!)
REALLY copied chip= 256 kb!!!!!
In fact,you understood,the REALLY copied data was always ONE QUARTER
of the (normal) imagebuffer size!!!....OUPS! SORRY !
Very small explanation for curious programmers....others may skip!
(I had forgotten an oooold lsr.l #2 somewhere...was originally used
when the copy loop worked with a dbra.Now the loop works with a
test (reached upper addr?),so I was testing IN FACT if I had reached
the QUARTER of the top addr!!...Why a lsr? Only because I have used
move.L (a0)+,(a1)+ instead of a move.b,in order to speed up copying
on the real 32 bits machines...A1200 RULEZ hahaha)
* An extremely tiny bug:In CS v1.1,when using the Memclear+Nofast option,I had
forgotten to recalculate Execbase's checksum after clearing the MaxExtMem
field.Anyway it surely didn't have any consequences,but now the code is
cleaner,if by any 'chance' somebody wanted to verify the Checksum!
10. The end
-----------
Well,I hope you'll find this tool useful!Anyway,tell me about it,if you
find bugs,if you like it,if you have any ideas for improvements (?) etc...
I'm also looking for (real) Synthmodules of any kind,protracks etc...
[The Cyborg/NGC]
Nasr Alexis
27,Rue Formigé,Residence RENOIR
33110 Le Bouscat, FRANCE
Commodore is dead...Amiga's alive